package com.yupi.springbootinit.annotation;

import java.lang.annotation.*;

/**
 * 操作日志注解
 * 在需要记录操作日志的方法上添加此注解
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface OperationLog {
    
    /**
     * 操作模块
     */
    String module() default "";
    
    /**
     * 操作类型
     */
    String operation() default "";
    
    /**
     * 操作描述
     */
    String description() default "";
    
    /**
     * 是否记录请求参数
     */
    boolean recordParams() default true;
    
    /**
     * 是否记录返回结果
     */
    boolean recordResult() default false;

    /**
     * 是否记录修改前后的数据对比（仅适用于更新操作）
     */
    boolean recordDataChange() default false;

    /**
     * 数据变更时的主键字段名（用于查询修改前的数据）
     */
    String primaryKeyField() default "id";
}